package com.scujj.cs6.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.scujj.cs6.model.dto.comment.CommentDTO;
import com.scujj.cs6.model.dto.comment.CommentUpdateDTO;
import com.scujj.cs6.model.entity.Comment;
import com.scujj.cs6.model.vo.CommentVo;
import com.scujj.cs6.model.vo.MyCommentVo;
import com.scujj.cs6.model.vo.PageVo;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;

/**
* @author FlanChan
* @description 针对表【comment】的数据库操作Service
* @createDate 2025-03-25 21:21:24
*/
public interface CommentService extends IService<Comment> {

    void createComment(@Valid CommentDTO commentDTO, HttpServletRequest request);

    void deleteComment(Long id, HttpServletRequest request);

    void updateComment(Long id, @Valid CommentUpdateDTO commentDTO, HttpServletRequest request);

    PageVo<CommentVo> pageComments(Long id, int page, int size);

    PageVo<MyCommentVo> pageMyComments(int page, int size, HttpServletRequest request);
}
